perm filename KBX.FAI[TMP,LCS] blob
sn#187359 filedate 1975-11-21 generic text, type T, neo UTF8
00100 TITLE KBSCAN
00200 AC←1
00300 INTERNAL KBS
00400 KBS: 0 ;CHR = KBS CALL KBS(CHR1,CHR2)
00500 PTJOBX [0 ↔ 3] ;SET LINE
00600 INCHRW AC ;INPUT CHR
00700
00800 SETZ 3,
00900
01000 MOVE 2,AC
01100 CAIN AC,"D" ;IF IT IS A NOTE
01200 MOVEI 2,"C" ;--C--THEN TYPE NOTE CHR
01300 CAIN AC,"F" ; --D--
01400 MOVEI 2,"D"
01500 CAIN AC,"G" ; --E--
01600 MOVEI 2,"E"
01700 CAIN AC,"H" ; --F--
01800 MOVEI 2,"F"
01900 CAIN AC,"J" ; --G--
02000 MOVEI 2,"G"
02100
02200 CAIN AC,"K" ; FOR --A--
02300 MOVEI 2,"A"
02400
02500 CAIN AC,"L" ; FOR --B--
02600 MOVEI 2,"B"
02700
02800 CAIE AC,"R" ;IF IT IS A NOTE
02900 JRST .+3
03000 MOVEI 2,"C" ;--C--THEN TYPE NOTE CHR
03100 SETO 3,
03200 CAIE AC,"T" ;--D#--
03300 JRST .+3
03400 MOVEI 2,"D"
03500 SETO 3,
03600 CAIE AC,"U" ;--F#--
03700 JRST .+3
03800 MOVEI 2,"F"
03900 SETO 3,
04000 CAIE AC,"I" ;--G#--
04100 JRST .+3
04200 MOVEI 2,"G"
04300 SETO 3,
04400 CAIE AC,"O" ;--A#--
04500 JRST .+3
04600 MOVEI 2,"A"
04700 SETO 3,
04800 CAIE AC,"C" ;--DF--
04900 JRST .+3
05000 MOVEI 2,"D"
05100 AOJ 3,
05200 CAIE AC,"V" ;--EF--
05300 JRST .+3
05400 MOVEI 2,"E"
05500 AOJ 3,
05600 CAIE AC,"N" ;--GF--
05700 JRST .+3
05800 MOVEI 2,"G"
05900 AOJ 3,
06000 CAIE AC,"M" ;--AF--
06100 JRST .+3
06200 MOVEI 2,"A"
06300 AOJ 3,
06400 CAIE AC,"," ;--BF--
06500 JRST .+3
06600 MOVEI 2,"B"
06700 AOJ 3,
06800 CAIN AC,"Y" ; --R FOR REST--
06900 MOVEI 2,"R"
06910 CAIN AC,"B" ; NATURAL
06920 MOVEI 2,"N"
07000 PRNT: OUTCHR 2
07100 LSH 2,35
07200 OR 2,[1004,,20100]
07300
07400 MOVEM 2,@(16) ;RETURN WITH IT
07500 JUMPL 3,SHRP
07600 JUMPE 3,DONE ; NO ACCI
07700 MOVEI 3,"b" ; FLAT
07800 JRST ACCI
07900 DONE: MOVEM 3,@1(16) ;RETURN WITH IT
08000 PTJOBX [0 ↔ 4] ;RESET LINE
08100
08200 JRA 16,2(16) ;YOU MIGHT WANT TO RETURN
08300 ;WITH THE CHANGED CHR OR
08400 ;TURN IT IN TO FORTRAN A4 FORMAT
08500 SHRP: MOVEI 3,"#" ;--S--
08600 ACCI: OUTCHR 3
08700 CAIN 3,"#"
08800 MOVEI 3,"S"
08900 CAIN 3,"b"
09000 MOVEI 3,"F"
09100 LSH 3,35
09200 OR 3,[1004,,20100]
09300 JRST DONE
09400
09500 END